/*
 *  Copyright (C) 2011  social-tourist.org
 *  Copyright 2010 Google Inc.
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

package org.socialtourist.web.client.widgets.editors;

import org.socialtourist.web.client.ContentContainer;
import org.socialtourist.web.client.widgets.SocialTouristContent;
import org.socialtourist.web.shared.data.SocialProject;

import com.google.gwt.core.client.GWT;
import com.google.gwt.editor.client.Editor;
import com.google.gwt.editor.client.SimpleBeanEditorDriver;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiConstructor;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;

public class PageSocialProjectEditor extends SocialTouristContent implements Editor<SocialProject> {

	interface Binder extends UiBinder<Widget, PageSocialProjectEditor> {
	}

    interface PageSocialProjectEditorDriver extends
        SimpleBeanEditorDriver<SocialProject, PageSocialProjectEditor> {}
    
    private final PageSocialProjectEditorDriver editorDriver;
	
    @UiField
    TextBox nameEditor;

	private SocialProject project;
   
    @UiConstructor
	public PageSocialProjectEditor(ContentContainer container, SocialProject project) 
    {
		super(container);
		this.project = project;

		initWidget(GWT.<Binder>create(Binder.class).createAndBindUi(this));
		
	
		editorDriver = GWT.create(PageSocialProjectEditorDriver.class);
        
		editorDriver.initialize(this); 
        editorDriver.edit(project);
	}
    
    @UiHandler("save")
    void onSave(ClickEvent event) {
    	GWT.log("SAVE");
    	
    	editorDriver.flush();
    	GWT.log("SAVE " + project.getName());
    	
    }
    
    @UiHandler("cancel")
    void onCancel(ClickEvent event) {
    	GWT.log("CANCEL");
    	
    }
    


      private void fetchAndEdit() {
       
      
    }

}
